/*
import './style.css'

import './count'

import { foo } from './foo'

foo()

console.log('main module')

if (import.meta.hot) {
  import.meta.hot.accept('./foo.js', (newFoo) => {
    // newFoo.foo()

    if (newFoo.cache.amount > 5) {
      import.meta.hot.invalidate()
    } else {
      newFoo.foo()
    }
  })
  // import.meta.hot.accept()
  import.meta.hot.decline() // 表示此模块不可热更新，如果在传播 HMR 更新时遇到此模块，浏览器应该执行完全重新加载。
}

document.querySelector('#app').innerHTML = `
  <h1>Hello Vite! </h1>
  <a href="https://vitejs.dev/guide/features.html" target="_blank">Documentation</a>
`
*/

/*
// const worker = new Worker('./worker.js')

import MyWorker from './worker?worker'
const worker = new MyWorker()

worker.onmessage = function (ev) {
  console.log(ev.data)
}
*/

/*
import data from './json/data.json'
console.log(data)

import { text } from './json/data.json'
console.log(text)
*/

/*
const modules = import.meta.glob('./glob/*.js')
console.log(modules)

// vite 生成的代码
// const modules = {
//   './glob/m1.js': () => import('./glob/m1.js'),
//   './glob/m2.js': () => import('./glob/m2.js')
// }

console.log(Object.entries(modules))

Object.entries(modules).forEach(([key, value])=> {
  console.log(key, value)
  value().then(module => {
    console.log(key, module.default)
  })
})
*/

const modules = import.meta.globEager('./glob/*') // 可以使用正则匹配，不能使用变量 ./glob/*[1].js  ./glob/*[1].*

Object.entries(modules).forEach(([key, value]) => {
  console.log(key, value, value.default)
})
